package name.abuchen.portfolio.ui.wizards.security;
import org.eclipse.jface.fieldassist.ControlDecoration;
import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.viewers.ComboViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import name.abuchen.portfolio.ui.Images;
import name.abuchen.portfolio.ui.Messages;
import name.abuchen.portfolio.ui.util.BindingHelper;
public class SecurityMasterDataPage extends AbstractPage
{
private final EditSecurityModel model;
private final BindingHelper bindings;
protected SecurityMasterDataPage(EditSecurityModel model, BindingHelper bindings)
{
this.model = model;
this.bindings = bindings;
setTitle(Messages.EditWizardMasterDataTitle);
}
@Override
public void createControl(Composite parent)
{
Composite container = new Composite(parent, SWT.NULL);
setControl(container);
GridLayoutFactory.fillDefaults().numColumns(2).margins(5, 5).applyTo(container);
ComboViewer currencyCode = bindings.bindCurrencyCodeCombo(container, Messages.ColumnCurrency, "currencyCode"); //$NON-NLS-1$
if (model.getSecurity().hasTransactions(model.getClient()))
{
currencyCode.getCombo().setEnabled(false);
// empty cell
new Label(container, SWT.NONE).setText(""); //$NON-NLS-1$
Composite info = new Composite(container, SWT.NONE);
info.setLayout(new RowLayout());
Label l = new Label(info, SWT.NONE);
l.setImage(Images.INFO.image());
l = new Label(info, SWT.NONE);
l.setText(Messages.MsgInfoChangingCurrencyNotPossible);
}
bindings.bindISINInput(container, Messages.ColumnISIN, "isin"); //$NON-NLS-1$
bindings.bindStringInput(container, Messages.ColumnTicker, "tickerSymbol", SWT.NONE, 12); //$NON-NLS-1$
bindings.bindStringInput(container, Messages.ColumnWKN, "wkn", SWT.NONE, 12); //$NON-NLS-1$
Control control = bindings.bindBooleanInput(container, Messages.ColumnRetired, "retired"); //$NON-NLS-1$
Image image = FieldDecorationRegistry.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION)
.getImage();
ControlDecoration deco = new ControlDecoration(control, SWT.TOP | SWT.LEFT);
deco.setDescriptionText(Messages.MsgInfoRetiredSecurities);
deco.setImage(image);
deco.show();
bindings.bindStringInput(container, Messages.ColumnNote, "note"); //$NON-NLS-1$
}
}